YES(O(1),O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { and(tt(), X) -> activate(X) , activate(X) -> X , plus(N, 0()) -> N , plus(N, s(M)) -> s(plus(N, M)) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'Small Polynomial Path Order (PS,1-bounded)' to orient following rules strictly. Trs: { and(tt(), X) -> activate(X) , activate(X) -> X , plus(N, 0()) -> N , plus(N, s(M)) -> s(plus(N, M)) } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- The input was oriented with the instance of 'Small Polynomial Path Order (PS,1-bounded)' as induced by the safe mapping safe(and) = {1}, safe(tt) = {}, safe(activate) = {1}, safe(plus) = {}, safe(0) = {}, safe(s) = {1} and precedence and > activate, plus > activate, and ~ plus . Following symbols are considered recursive: {and, plus} The recursion depth is 1. For your convenience, here are the satisfied ordering constraints: and(X; tt()) > activate(; X) activate(; X) > X plus(N, 0();) > N plus(N, s(; M);) > s(; plus(N, M;)) We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(1)). Weak Trs: { and(tt(), X) -> activate(X) , activate(X) -> X , plus(N, 0()) -> N , plus(N, s(M)) -> s(plus(N, M)) } Obligation: innermost runtime complexity Answer: YES(O(1),O(1)) Empty rules are trivially bounded Hurray, we answered YES(O(1),O(n^1))